package com
{
	public class SuperBase
	{
		private var _nameHash :Object;
		private var _superSubBaseList:Object;
		
		public function SuperBase()
		{
			_superSubBaseList = new Object();
			_nameHash = new Object();
		}
		
		protected function createObjectBase(param1:Class, param2:String, view:View, controller:Controller, data:Data) : Object
		{
			var _loc_6 :String = _nameHash[param2];
			if (_loc_6 == null)
			{
				_loc_6 = param2.replace(/^\[class /, "");
				_loc_6 = _loc_6.substring(0, 1).toLowerCase() + _loc_6.substring(1);
				_nameHash[param2] = _loc_6;
			}
			if (_superSubBaseList[_loc_6] == null)
			{
				_superSubBaseList[_loc_6] = new param1();
				(_superSubBaseList[_loc_6] as SuperSubBase).settle(_loc_6, view, controller, data, this);
			}
			return _superSubBaseList[_loc_6];
		}
	}
}